package com.zingrow.web.configure.distribute.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

import org.mongodb.morphia.annotations.Entity;
import org.mongodb.morphia.annotations.Id;

/**
 * 信息分发
 *
 *
 * @author shengchen
 *
 * @time:2017年3月1日 下午5:56:08
 */
@Entity(value = "dataTables", noClassnameStored = true)
public class InformationDistributeModel implements Serializable, Comparable<InformationDistributeModel>{
    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = 1L;
    /**
     * 数据库主键_id
     */
    @Id
    private String id;
    /**
     * 方案ID
     */
    private String ifmId;
    /**
     * 方案名称
     */
    private String ifmName;
    /**
     * 新闻ID 每篇文章的唯一标识
     */
    private String articleId;
    /**
     * 用来区分文章类型（普通新闻，微博新闻，报告等...）
     */
    private String articleType;
    /**
     * 新闻标题，用来显示新闻标题
     */
    private String title;
    /**
     * 新闻（微博）地址
     */
    private String url;
    /**
     * 新闻（微博）内容
     */
    private String content;
    /**
     * 新闻（微博）发布时间
     */
    private Date releaseTime;
    /**
     * 新闻阅读量
     */
    private int readNumb;
    /**
     * 新闻来源
     */
    private String source;
    /**
     * 来源
     */
    private String websiteName;
    /**
     * 点赞数
     */
    private int pointNum;
    /**
     * 微博转发量
     */
    private int weiboReprintNumb;
    /**
     * 微博评论量
     */
    private int weiboCommentNumb;
    /**
     * 是否转发
     */
    private int weiboIsForward;
    /**
     * 收藏状态
     */
    private int isCollection;
    /**
     * 相似标签（数值一样的数据为相似数据）
     */
    private String groupSign;
    
    /**
     * 分组ID
     */
    private String groupId;
    
    /**
     * 时间戳
     */
    private Long timestamp;
    /**
     * 排序时间戳
     */
    private Long sort_timestamp;
    /**
     * 微博类型（后续可能有腾讯微博等其他微博用来区分）
     */
    private String weiboType;
    /**
     * 转发的源博主
     */
    private String weiboSourceBlogger;
    /**
     * 微博原帖
     */
    private String weiboSourceContent;
    /**
     * 微博博主
     */
    private String weiboBlogger;
    /**
     * 微博正文
     */
    private String weiboContent;
    /**
     * 作者
     */
    private String author;
    /**
     * 回复数
     */
    private int replyNumb;
    /**
     * 标签
     */
   private String websiteSign;
   /**
    * 站点
    */
   private String domainName;
   /**
    * 是否原创
    */
   private boolean original;
    //用户名称
    private String userName;
    
    //组织名称
    private String groupName;
    
    //保存翻页总数
    private Long count;
    
    //相似数
    private String reprintNumb;
    
    //相似的文章
    private List<InformationDistributeModel> reprintList;
    
    //组织id
    private String tissueId;
    
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getIfmId() {
        return ifmId;
    }

    public void setIfmId(String ifmId) {
        this.ifmId = ifmId;
    }

    public String getArticleId() {
        return articleId;
    }

    public void setArticleId(String articleId) {
        this.articleId = articleId;
    }

    public String getArticleType() {
        return articleType;
    }

    public void setArticleType(String articleType) {
        this.articleType = articleType;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }

    public Integer getReadNumb() {
        return readNumb;
    }

    public void setReadNumb(Integer readNumb) {
        this.readNumb = readNumb;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public Integer getPointNum() {
        return pointNum;
    }

    public void setPointNum(Integer pointNum) {
        this.pointNum = pointNum;
    }

    public Integer getWeiboReprintNumb() {
        return weiboReprintNumb;
    }

    public void setWeiboReprintNumb(Integer weiboReprintNumb) {
        this.weiboReprintNumb = weiboReprintNumb;
    }

    public Integer getWeiboCommentNumb() {
        return weiboCommentNumb;
    }

    public void setWeiboCommentNumb(Integer weiboCommentNumb) {
        this.weiboCommentNumb = weiboCommentNumb;
    }

    public Integer getWeiboIsForward() {
        return weiboIsForward;
    }

    public void setWeiboIsForward(Integer weiboIsForward) {
        this.weiboIsForward = weiboIsForward;
    }

    public Integer getIsCollection() {
        return isCollection;
    }

    public void setIsCollection(Integer isCollection) {
        this.isCollection = isCollection;
    }

    public String getGroupSign() {
        return groupSign;
    }

    public void setGroupSign(String groupSign) {
        this.groupSign = groupSign;
    }

    public Long getTimestamp() {
        return timestamp;
    }

    public void setTimestamp(Long timestamp) {
        this.timestamp = timestamp;
    }
    public String getIfmName() {
		return ifmName;
	}

	public void setIfmName(String ifmName) {
		this.ifmName = ifmName;
	}
	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getGroupName() {
		return groupName;
	}

	public void setGroupName(String groupName) {
		this.groupName = groupName;
	}

	public String getWeiboType() {
		return weiboType;
	}

	public void setWeiboType(String weiboType) {
		this.weiboType = weiboType;
	}

	public String getWeiboSourceBlogger() {
		return weiboSourceBlogger;
	}

	public void setWeiboSourceBlogger(String weiboSourceBlogger) {
		this.weiboSourceBlogger = weiboSourceBlogger;
	}

	public String getWeiboSourceContent() {
		return weiboSourceContent;
	}

	public void setWeiboSourceContent(String weiboSourceContent) {
		this.weiboSourceContent = weiboSourceContent;
	}

	public String getWeiboBlogger() {
		return weiboBlogger;
	}

	public void setWeiboBlogger(String weiboBlogger) {
		this.weiboBlogger = weiboBlogger;
	}

	public String getWeiboContent() {
		return weiboContent;
	}

	public void setWeiboContent(String weiboContent) {
		this.weiboContent = weiboContent;
	}

	public void setReadNumb(int readNumb) {
		this.readNumb = readNumb;
	}

	public void setPointNum(int pointNum) {
		this.pointNum = pointNum;
	}

	public void setWeiboReprintNumb(int weiboReprintNumb) {
		this.weiboReprintNumb = weiboReprintNumb;
	}

	public void setWeiboCommentNumb(int weiboCommentNumb) {
		this.weiboCommentNumb = weiboCommentNumb;
	}

	public void setWeiboIsForward(int weiboIsForward) {
		this.weiboIsForward = weiboIsForward;
	}

	public void setIsCollection(int isCollection) {
		this.isCollection = isCollection;
	}
	
	public String getAuthor() {
		return author;
	}

	public void setAuthor(String author) {
		this.author = author;
	}
	public Long getCount() {
		return count;
	}

	public void setCount(Long count) {
		this.count = count;
	}
	public Long getSort_timestamp() {
		return sort_timestamp;
	}

	public void setSort_timestamp(Long sort_timestamp) {
		this.sort_timestamp = sort_timestamp;
	}
	public String getWebsiteName() {
		return websiteName;
	}

	public void setWebsiteName(String websiteName) {
		this.websiteName = websiteName;
	}
	
	public String getGroupId() {
		return groupId;
	}

	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}

	public String getReprintNumb() {
		return reprintNumb;
	}

	public void setReprintNumb(String reprintNumb) {
		this.reprintNumb = reprintNumb;
	}
	
	public List<InformationDistributeModel> getReprintList() {
		return reprintList;
	}
	public int getReplyNumb() {
		return replyNumb;
	}

	public void setReplyNumb(int replyNumb) {
		this.replyNumb = replyNumb;
	}
	public void setReprintList(List<InformationDistributeModel> reprintList) {
		this.reprintList = reprintList;
	}
	public String getWebsiteSign() {
		return websiteSign;
	}
	public void setWebsiteSign(String websiteSign) {
		this.websiteSign = websiteSign;
	}
	public String getDomainName() {
		return domainName;
	}
	public void setDomainName(String domainName) {
		this.domainName = domainName;
	}
	
	public String getTissueId() {
		return tissueId;
	}

	public void setTissueId(String tissueId) {
		this.tissueId = tissueId;
	}

	public boolean isOriginal() {
		return original;
	}

	public void setOriginal(boolean original) {
		this.original = original;
	}

	@Override
	public int compareTo(InformationDistributeModel object) {
		long res = object.getSort_timestamp()-this.getSort_timestamp();
		if(res>0) return 1;
		else return -1;
	}

	@Override
	public String toString() {
		return "InformationDistributeModel [id=" + id + ", ifmId=" + ifmId
				+ ", ifmName=" + ifmName + ", articleId=" + articleId
				+ ", articleType=" + articleType + ", title=" + title
				+ ", url=" + url + ", content=" + content + ", releaseTime="
				+ releaseTime + ", readNumb=" + readNumb + ", source=" + source
				+ ", websiteName=" + websiteName + ", pointNum=" + pointNum
				+ ", weiboReprintNumb=" + weiboReprintNumb
				+ ", weiboCommentNumb=" + weiboCommentNumb
				+ ", weiboIsForward=" + weiboIsForward + ", isCollection="
				+ isCollection + ", groupSign=" + groupSign + ", groupId="
				+ groupId + ", timestamp=" + timestamp + ", sort_timestamp="
				+ sort_timestamp + ", weiboType=" + weiboType
				+ ", weiboSourceBlogger=" + weiboSourceBlogger
				+ ", weiboSourceContent=" + weiboSourceContent
				+ ", weiboBlogger=" + weiboBlogger + ", weiboContent="
				+ weiboContent + ", author=" + author + ", replyNumb="
				+ replyNumb + ", websiteSign=" + websiteSign + ", domainName="
				+ domainName + ", userName=" + userName + ", groupName="
				+ groupName + ", count=" + count + ", reprintNumb="
				+ reprintNumb + ", reprintList=" + reprintList + ", tissueId="
				+ tissueId + "]";
	}

	
}
